home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 85 / CD Temático 40 Febrero 2004.iso / DOS / testdisk / src / ext2fs / ext2fsP.h < prev    next >
Encoding:
C/C++ Source or Header  |  2002-04-03  |  1.4 KB  |  89 lines

  1. /*
  2.  * ext2fsP.h --- private header file for ext2 library
  3.  * 
  4.  * Copyright (C) 1997 Theodore Ts'o.
  5.  *
  6.  * %Begin-Header%
  7.  * This file may be redistributed under the terms of the GNU Public
  8.  * License.
  9.  * %End-Header%
  10.  */
  11.  
  12. #include "ext2fs.h"
  13.  
  14. /*
  15.  * Badblocks list
  16.  */
  17. struct ext2_struct_badblocks_list {
  18.     int    magic;
  19.     int    num;
  20.     int    size;
  21.     blk_t    *list;
  22.     int    badblocks_flags;
  23. };
  24.  
  25. struct ext2_struct_badblocks_iterate {
  26.     int        magic;
  27.     badblocks_list    bb;
  28.     int        ptr;
  29. };
  30.  
  31.  
  32. /*
  33.  * Directory block iterator definition
  34.  */
  35. struct ext2_struct_dblist {
  36.     int            magic;
  37.     ext2_filsys        fs;
  38.     ext2_ino_t        size;
  39.     ext2_ino_t        count;
  40.     int            sorted;
  41.     struct ext2_db_entry *    list;
  42. };
  43.  
  44. /*
  45.  * For directory iterators
  46.  */
  47. struct dir_context {
  48.     ext2_ino_t        dir;
  49.     int        flags;
  50.     char        *buf;
  51.     int (*func)(ext2_ino_t    dir,
  52.             int    entry,
  53.             struct ext2_dir_entry *dirent,
  54.             int    offset,
  55.             int    blocksize,
  56.             char    *buf,
  57.             void    *priv_data);
  58.     void        *priv_data;
  59.     errcode_t    errcode;
  60. };
  61.  
  62. /*
  63.  * Inode cache structure
  64.  */
  65. struct ext2_inode_cache {
  66.     void *                buffer;
  67.     blk_t                buffer_blk;
  68.     int                cache_last;
  69.     int                cache_size;
  70.     int                refcount;
  71.     struct ext2_inode_cache_ent    *cache;
  72. };
  73.  
  74. struct ext2_inode_cache_ent {
  75.     ext2_ino_t        ino;
  76.     struct ext2_inode    inode;
  77. };
  78.  
  79. /* Function prototypes */
  80.  
  81. extern int ext2fs_process_dir_block(ext2_filsys      fs,
  82.                     blk_t        *blocknr,
  83.                     e2_blkcnt_t        blockcnt,
  84.                     blk_t        ref_block,
  85.                     int            ref_offset,
  86.                     void        *priv_data);
  87.  
  88.  
  89.